package com.fingard.dsp.bank.directConfig;

import java.math.BigDecimal;

import com.fingard.text.StringHelper;
import com.fingard.xml.XElement;

public class EBankSet {

    /**
     * 支持的指令类型或指令代码
     */
    public String setFor;
    /**
     * 是否启用
     */
    public boolean isEnable=false;
    /**
     * 是否强制启用，将使用清算行信息代替开户行信息,不受金额限制
     */
    public boolean isForceEnable=false;
    /**
     * 启用的金额限制
     */
    public BigDecimal amtLimit=new BigDecimal(50000);
    /**
     * 支付类型赋值节点名
     */
    public String payTypeSetNodeName;
    /**
     * 支付类型赋值节点值
     */
    public String payTypeSetNodeValue;
    /**
     * 清算行行号赋值节点名
     */
    public String eBankCodeSetNodeName;
    /**
     * 清算行行名赋值节点名，可支持多个，多个以英文逗号分隔
     */
    public String eBankNameSetNodeName;
    /**
     * 联行号赋值节点名
     */
    public String cnapsCodeSetNodeName;
    /**
     * 联行名赋值节点名
     */
    public String cnapsNameSetNodeName;



    public void fromXElement(XElement p_xe) throws Exception{
        setFor = p_xe.getAttrValue("for");
        isEnable= "true".equals(p_xe.getAttrValue("isEnable").toLowerCase());
        isForceEnable= "true".equals(p_xe.getAttrValue("isForceEnable").toLowerCase());
        String str_amtLimit = p_xe.getAttrValue("amtLimit");
        if(StringHelper.isNumber(str_amtLimit)){
            amtLimit=new BigDecimal(str_amtLimit);
        }
        payTypeSetNodeName=p_xe.getSingleTextNotNull("payTypeSetNodeName");
        payTypeSetNodeValue=p_xe.getSingleTextNotNull("payTypeSetNodeValue");
        eBankCodeSetNodeName=p_xe.getSingleTextNotNull("eBankCodeSetNodeName");
        eBankNameSetNodeName=p_xe.getSingleTextNotNull("eBankNameSetNodeName");
        cnapsCodeSetNodeName=p_xe.getSingleTextNotNull("cnapsCodeSetNodeName");
        cnapsNameSetNodeName=p_xe.getSingleTextNotNull("cnapsNameSetNodeName");
    }
}
